﻿using CommunityToolkit.Mvvm.ComponentModel;
using FreeSql.DataAnnotations;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZoneLine.Common;
using ZoneLine.Views;

namespace ZoneLine.Models
{
    [Index(nameof(QOP020StationResult) + "index_1", nameof(AbsScanCode), IsUnique = false)]
    public class QOP020StationResult : StationResultBase
    {
        private string _stationCode;

        [DgColumnAttr("工位号")]
        public string StationCode
        {
            get { return _stationCode; }
            set => SetProperty(ref _stationCode, value);
        }

        private string _partType;

        [DgColumnAttr("产品型号")]
        public string PartType
        {
            get { return _partType; }
            set => SetProperty(ref _partType, value);
        }

        private string _springBatchCode;

        [DgColumnAttr("弹簧批次码")]
        public string SpringBatchCode
        {
            get { return _springBatchCode; }
            set { SetProperty(ref _springBatchCode, value); }
        }

        private float _shimValue;

        /// <summary>
        /// 垫片尺寸
        /// </summary>
        [DgColumnAttr("垫片尺寸")]
        public float ShimValue
        {
            get { return _shimValue; }
            set { SetProperty(ref _shimValue, value); }
        }

        private string _springCode;

        /// <summary>
        /// 弹簧码
        /// </summary>
        [DgColumnAttr("弹簧条码")]
        public string SpringCode
        {
            get { return _springCode; }
            set { SetProperty(ref _springCode, value); }
        }

        private string _result;

        [DgColumnAttr("工作结论")]
        public string Result
        {
            get { return _result; }
            set => SetProperty(ref _result, value);
        }

        private int _workChannel;

        [DgColumnAttr("工作通道")]
        public int WorkChannel
        {
            get { return _workChannel; }
            set => SetProperty(ref _workChannel, value);
        }

        private float _airSpring;

        /// <summary>
        /// 气体反弹力
        /// </summary>
        [DgColumnAttr("气体反弹力")]
        public float AirSpring
        {
            get { return _airSpring; }
            set => SetProperty(ref _airSpring, value);
        }

        private string _shimLeft1;

        /// <summary>
        /// 垫片左1批次码 addr:150
        /// </summary>
        [DgColumnAttr("垫片左1批次码")]
        public string ShimLeft1
        {
            get { return _shimLeft1; }
            set => SetProperty(ref _shimLeft1, value);
        }

        private string _shimRight1;

        /// <summary>
        /// 垫片右1批次码 addr:182
        /// </summary>
        [DgColumnAttr("垫片右1批次码")]
        public string ShimRight1
        {
            get { return _shimRight1; }
            set => SetProperty(ref _shimRight1, value);
        }

        private string _shimLeft2;

        /// <summary>
        /// 垫片左2批次码
        /// </summary>
        [DgColumnAttr("垫片左2批次码")]
        public string ShimLeft2
        {
            get { return _shimLeft2; }
            set => SetProperty(ref _shimLeft2, value);
        }

        private string _shimRight2;

        /// <summary>
        /// 垫片右2批次码
        /// </summary>
        [DgColumnAttr("垫片右2批次码")]
        public string ShimRight2
        {
            get { return _shimRight2; }
            set => SetProperty(ref _shimRight2, value);
        }

        private string _shimLeft3;

        /// <summary>
        /// 垫片左3批次码
        /// </summary>
        [DgColumnAttr("垫片左3批次码")]
        public string ShimLeft3
        {
            get { return _shimLeft3; }
            set => SetProperty(ref _shimLeft3, value);
        }

        private string _shimRight3;

        /// <summary>
        /// 垫片右3批次码
        /// </summary>
        [DgColumnAttr("垫片右3批次码")]
        public string ShimRight3
        {
            get { return _shimRight1; }
            set => SetProperty(ref _shimRight3, value);
        }

        private string _shimLeft4;

        /// <summary>
        /// 垫片左4批次码
        /// </summary>
        [DgColumnAttr("垫片左4批次码")]
        public string ShimLeft4
        {
            get { return _shimLeft4; }
            set => SetProperty(ref _shimLeft4, value);
        }

        private string _shimRight4;

        /// <summary>
        /// 垫片右4批次码
        /// </summary>
        [DgColumnAttr("垫片右4批次码")]
        public string ShimRight4
        {
            get { return _shimRight4; }
            set => SetProperty(ref _shimRight4, value);
        }
    }
}